﻿Imports Entities
Imports Business
Imports DataAccess
Public Class RealizarVentaDistribuidor
    '    Private _ItemesList As New List(Of VentaDistribuidorItem)

    '    Private Sub IngresoPedido_Activated(sender As Object, e As EventArgs) Handles Me.Activated
    '        With cDistribuidores
    '            .DataSource = DistribuidorBL.List
    '            .ValueMember = "distribuidor"
    '            .DisplayMember = "NOMBREs"
    '        End With
    '        _ItemesList = VentaDistribuidorBL.ListP
    '        Titulo()
    '    End Sub

    '#Region "Metodos Privados"
    '    Private Sub Titulo()
    '        'DEFININE LA FECHA ACTUAL 
    '        xFechaVenta.Text = Now.ToShortDateString

    '        gItemes.DataSource = _ItemesList
    '        CalcularVacios()
    '        'ESTABLECE LA FUENTE Y EL ANCHO
    '        gItemes.Font = New Drawing.Font("Tahoma", Util.GridFont, FontStyle.Regular, GraphicsUnit.Point)
    '        ' gItemes.Width = 700
    '        gItemes.RowHeadersVisible = False
    '        gItemes.Columns("ItemId").Visible = False
    '        ' gItemes.Columns("STOCKGARANTIAS").Visible = False
    '        gItemes.Columns("KILOS").Visible = False
    '        gItemes.Columns("GARANTIAId").Visible = False

    '        'COLUMNAS NO EDITABLES
    '        gItemes.Columns("Descripcion").ReadOnly = True
    '        gItemes.Columns("Kilos").ReadOnly = True
    '        gItemes.Columns("Stock").ReadOnly = True
    '        gItemes.Columns("StockGarantia").ReadOnly = True
    '        gItemes.Columns("CantidadPedido").ReadOnly = True

    '        'ESTABLECE LOS ENCABEZADOS
    '        gItemes.Columns("Descripcion").HeaderText = "Descripción"
    '        gItemes.Columns("Kilos").HeaderText = "Cantidad de Kilos"
    '        gItemes.Columns("Stock").HeaderText = "Stock Actual (Llenos)"
    '        gItemes.Columns("StockGarantia").HeaderText = "Garantías Disponibles (Vacíos)"
    '        gItemes.Columns("CantidadPedido").HeaderText = "Cantidad Venta"
    '        gItemes.Columns("precioventa").HeaderText = "Precio Venta"



    '        gItemes.Columns("precioventa").DefaultCellStyle.Format = "$ ###,###,##0"

    '        'ESTABLECE EL ORDEN 
    '        gItemes.Columns("ItemId").DisplayIndex = 0
    '        gItemes.Columns("Descripcion").DisplayIndex = 1
    '        gItemes.Columns("Kilos").DisplayIndex = 2
    '        gItemes.Columns("STOCK").DisplayIndex = 3
    '        gItemes.Columns("StockGarantia").DisplayIndex = 4
    '        gItemes.Columns("CANTIDADPEDIDO").DisplayIndex = 5
    '        gItemes.Columns("precioventa").DisplayIndex = 6

    '        'ESTABLECE EL ANCHO DE COLUMNAS
    '        For Each col As DataGridViewColumn In gItemes.Columns
    '            col.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    '            col.ReadOnly = True
    '        Next
    '        gItemes.Columns("CANTIDADPEDIDO").DefaultCellStyle.BackColor = Color.Azure
    '        gItemes.Columns("precioventa").DefaultCellStyle.BackColor = Color.Azure


    '        'ESTABLECE LA ALINEACION DE LOS ENCABEZADOS
    '        gItemes.Columns("ItemId").HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("Descripcion").HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("Kilos").HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("STOCK").HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("StockGarantia").HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("CANTIDADPEDIDO").HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter

    '        'ESTABLECE LA ALINEACION DEL CONTENIDO
    '        gItemes.Columns("ItemId").DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("Descripcion").DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomLeft
    '        gItemes.Columns("Kilos").DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("STOCK").DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("StockGarantia").DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter
    '        gItemes.Columns("CANTIDADPEDIDO").DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter

    '    End Sub

    '    Private Sub CalcularVacios()
    '        For Each Fila As DataGridViewRow In gItemes.Rows
    '            Dim cantidad As Integer = 0
    '            Dim res As Integer = 0
    '            Fila.Cells("StockGarantia").Value = GarantiaBL.GetStock(Fila.Cells("GarantiaId").Value)
    '            For Each rec As DataGridViewRow In gItemes.Rows
    '                'recato la cantidad de todos los itemes de la misma garantia
    '                If rec.Cells("GarantiaId").Value = Fila.Cells("GarantiaId").Value Then
    '                    cantidad += rec.Cells("stock").Value + rec.Cells("cantidadpedido").Value
    '                End If
    '            Next
    '            res = Fila.Cells("StockGarantia").Value - cantidad
    '            For Each rec As DataGridViewRow In gItemes.Rows
    '                If rec.Cells("GarantiaId").Value = Fila.Cells("GarantiaId").Value Then
    '                    Fila.Cells("StockGarantia").Value = res
    '                End If
    '            Next
    '        Next
    '        CalcularTotales()
    '    End Sub

    '    Private Sub CalcularTotales()
    '        Dim Total As Integer = 0
    '        Dim TotalPrecio As Integer = 0
    '        For Each Fila As DataGridViewRow In gItemes.Rows
    '            Total += Fila.Cells("KILOS").Value * Fila.Cells("CANTIDADPEDIDO").Value
    '            TotalPrecio += Fila.Cells("precioventa").Value * Fila.Cells("CANTIDADPEDIDO").Value
    '        Next
    '        lbKilos.Text = Total
    '        lbPrecioTotal.Text = FormatCurrency(TotalPrecio)
    '    End Sub

    '    Private Function ValidarPedido() As Boolean
    '        Dim sum As Integer = 0
    '        For Each rec As DataGridViewRow In gItemes.Rows
    '            sum += rec.Cells("CantidadPedido").Value
    '        Next
    '        If sum > 0 Then
    '            Return True
    '        Else
    '            Return False
    '        End If
    '    End Function

    '#End Region


    '    Private Sub bGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bGenerar.Click

    '        If Not ValidarPedido() Then
    '            Util.Mensaje("Debe Ingresar la Cantidad de Venta de al Menos un Item")
    '            gItemes.Focus()
    '        Else
    '            Dim ped As New ventasdistribuidor
    '            With ped
    '                .FECHA = xFechaVenta.Value
    '                .DISTRIBUIDOR = CInt(cDistribuidores.SelectedValue)
    '                .KILOS = CInt(lbKilos.Text)
    '                .PRECIOTOTAL = CLng(lbPrecioTotal.Text)
    '                .CERRADA = False


    '            End With
    '            Dim lista As New List(Of detalleventa)
    '            For Each rec As DataGridViewRow In gItemes.Rows
    '                If rec.Cells("CantidadPedido").Value > 0 Then
    '                    Dim det As New detalleventa
    '                    With det
    '                        .ITEM = rec.Cells("itemId").Value
    '                        .GARANTIA = 0
    '                        .CANTIDAD = CInt(rec.Cells("CantidadPedido").Value)
    '                        .VENTA = 0
    '                        .PRECIOVENTA = CInt(rec.Cells("precioventa").Value)

    '                    End With
    '                    lista.Add(det)
    '                End If
    '            Next
    '            If VentaDistribuidorBL.Save(ped, lista) Then
    '                Util.Mensaje("La Venta se ha Generado Exitosamente")
    '                Me.Dispose()
    '            Else
    '                Util.MensajeError("Error al Generar la Venta")
    '            End If
    '        End If
    '    End Sub

    '    Private Sub bCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCancelar.Click
    '        Dispose()
    '    End Sub



    '    Private Sub xFechaPedido_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xFechaVenta.KeyPress, cDistribuidores.KeyPress
    '        If e.KeyChar = ChrW(Keys.Enter) Then
    '            Util.Siguiente()
    '        End If
    '    End Sub

    '    Private Sub gItemes_Click(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles gItemes.Click
    '        Dim hti As System.Windows.Forms.DataGridView.HitTestInfo
    '        hti = gItemes.HitTest(e.X, e.Y)
    '        If hti.Type = DataGridViewHitTestType.ColumnHeader Then
    '            Exit Sub
    '        End If

    '        If gItemes.Rows.IndexOf(gItemes.CurrentRow) >= 0 Then

    '            If gItemes.CurrentCell.OwningColumn.Name = "CantidadPedido" Then
    '                Using Form As New IngresoDato("Ingreso Cantidad de Venta", "Ingrese Cantidad")
    '                    Form.ShowDialog()
    '                    If Form.DialogResult = DialogResult.OK Then
    '                        If Form.GetValue > gItemes.Item("stock", gItemes.CurrentRow.Index).Value Then
    '                            gItemes.Item("CantidadPedido", gItemes.CurrentRow.Index).Value = gItemes.Item("stock", gItemes.CurrentRow.Index).Value
    '                        Else
    '                            gItemes.Item("CantidadPedido", gItemes.CurrentRow.Index).Value = Form.GetValue
    '                        End If
    '                        CalcularVacios()
    '                    End If
    '                End Using
    '            End If
    '            If gItemes.CurrentCell.OwningColumn.Name = "PrecioVenta" Then
    '                Using Form As New IngresoDato("Ingreso de Precio Unitario", "Ingrese Precio" + vbCr + " Unitario", "$")
    '                    Form.ShowDialog()
    '                    If Form.DialogResult = DialogResult.OK Then
    '                        gItemes.Item("PrecioVenta", gItemes.CurrentRow.Index).Value = Form.GetValue
    '                        CalcularVacios()
    '                    End If
    '                End Using
    '            End If
    '        End If
    '    End Sub

    
End Class